package com.ibm.news.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DbConn {
	
	/**
	 * 获取数据库链接对象。
	 * @return 数据库链接对象。
	 */
	public static Connection getConn() {
		Connection conn;
		try {
			
			// 加载mysql数据库驱动的 Class 对象。
			
			Class.forName("org.gjt.mm.mysql.Driver");
			//获取数据库链接。
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/news", "root", "aa");
			if (null != conn) {
				return conn;
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	/**
	 * 关闭数据库连接。
	 * @param conn 需要关闭数据库连接对象。
	 * @param s 需要关闭数据库SQL预处理对象。
	 * @param rs 需要关闭数据库结果集。
	 */
	public static void freeConn(Connection conn, Statement s, ResultSet rs) {
		try {
			if (null != rs) {
				rs.close();
			}		
			if (null != s) {
				s.close();
			}
			if (null != conn) {
				conn.close();
			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
	}
	
	
	
	/*public void test() {
		Connection conn = getConn();
		String sql = "select id, content, createTime, title from tb_affiche";
		sql = "update tb_affiche set content = ? where id = ?";
		
		try {
			PreparedStatement ps = conn.prepareStatement(sql);
			ps.setString(1, "sdkfs");
			ps.setInt(2, 1);
			Statement s = conn.createStatement();
			ResultSet rs = s.executeQuery(sql);
			while (rs.next()) {
				System.out.print(rs.getInt(1) + "\t");
				System.out.print(rs.getString(2) + "\t");
				System.out.print(rs.getString(3) + "\t");
				System.out.println(rs.getString(4));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}*/
	
	public static void main(String[] args) {
		//DbConn dbConn = new DbConn();
		//dbConn.test();
		System.out.println(DbConn.getConn());
	}
}
